1. Field of the Invention
This invention relates to a method for transforming a color signal, wherein output color signal components and the corresponding input signal components, each of which yields each of the output color signal components, are stored in a look-up table in a color image output apparatus, and a target output color signal component is transformed into an input signal component in accordance with the look-up table. This invention particularly relates to a method for transforming a color signal, wherein an improved interpolating process is employed in order to transform an output color signal component, which is other than those stored in the look-up table, into an input signal component.
2. Description of the Related Art
So that a color image having a desired color tone can be formed with a color image output apparatus, such as a laser beam scanning recording apparatus or a printing machine, it is necessary to generate input signal components of an input signal, which controls the laser voltage, the amount of an ink, or the like, in accordance with color signal components of a color signal, which represent picture elements in the image. However, in the actual color image output apparatus, even if the input, such as the laser voltage, is constant, the output color signal component will fluctuate in accordance with the temperature, humidity, development conditions, or the like. Therefore, it is not easy to analytically determine the input signal component corresponding to a target output color signal component.
Therefore, as disclosed in, for example, Japanese Patent Publication No. 58(1983)-16180, a look-up table is created storing a plurality of three-dimensional input signal components, which change in steps and which are fed into a color image output apparatus, and the corresponding three-dimensional output color signal components, each of which is obtained with each input signal component. {The three-dimensional input signal components are herein represented by (B, G, R), and the three-dimensional output color signal components are herein represented by (X, Y, Z).} The look-up table is referred to, and a target output color signal component is thereby transformed into an input signal component.
In the method described above, for reasons of the capacity of the storage means, or the like, it is substantially impossible to store all of the combinations of the three-dimensional output color signal components (X, Y, Z), which are to be obtained, and the corresponding three-dimensional input signal components (B, G, R) in the look-up table. Therefore, ordinarily, an input signal component corresponding to a target output color signal component, which is not stored in the look-up table, is interpolated with a three-dimensional interpolating process from a plurality of input signal components corresponding to a plurality of output color signal components, which are stored in the look-up table and which are close to the target output color signal component.
In general, the three-dimensional input signal component (B, G, R) can be controlled independently with respect to each of the three dimensions. However, the three-dimensional output color signal component (X, Y, Z) cannot be controlled independently with respect to each of the three dimensions. Therefore, when a three-dimensional input signal space, which is formed by a plurality of input signal components, and a three-dimensional output color signal space, which is formed by a plurality of output color signal components, are supposed, the former becomes an orthogonal lattice space, in which the respective input signal components constitute the lattice points, and the latter becomes a distorted lattice space, in which the respective output color signal components constitute the lattice points. As an aid in facilitating the explanation, these signal spaces are illustrated only for two dimensions in FIGS. 2A and 2B. FIG. 2A shows an input signal space. FIG. 2B shows an output color signal space.
Therefore, in such cases, the interpolating process is carried out by utilizing the mapping between the input signal space and the output color signal space. Specifically, in cases where a point (X, Y) shown in FIG. 2B represents the target output color signal component, an orthogonal lattice space, which corresponds to a single distorted lattice space (hatched in FIG. 2B) containing the point (X, Y), is found in the input signal space shown in FIG. 2A. Thereafter, a point (B, G) corresponding to the point (X, Y) is formed in the orthogonal lattice space (hatched in FIG. 2A). The relationship between the point (B, G) and the four lattice points, which define the orthogonal lattice space, is utilized, and the value of an input signal component (B, G) can thereby be calculated with an interpolating process from the four lattice points, which define the orthogonal lattice space, i.e. from the four input signal components stored in the look-up table.
With the conventional three-dimensional interpolating process, an output color signal space is divided into a plurality of unit solid bodies (cubes, tetrahedrons, triangular prisms, or the like). Thereafter, a unit solid body, which contains a desired output color signal component, is specified, and an interpolating process is carried out in the specified solid body.
However, the conventional three-dimensional interpolating process described above has the drawbacks described below.
a) Interpolation cannot be carried out for a point in the vicinity of the boundary of a color reproduction range. PA1 b) A very long time is required to carry out the calculations for specifying the unit solid body. PA1 c) In general, when the number of steps (i.e. the number of gradation divisions) is increased, the accuracy of interpolation becomes higher, but a longer time is required to carry out the calculations. PA1 (1) creating a look-up table storing a plurality of three-dimensional input signal components (B, G, R), which change in steps and which are fed into a color image output apparatus, and the corresponding three-dimensional output color signal components (X, Y, Z), each of which is obtained with one of the three-dimensional input signal components (B, G, R), PA1 (2) transforming a target output color signal component (X, Y, Z) into a three-dimensional input signal component (B, G, R) by referring to the look-up table, and PA1 (3) interpolating a three-dimensional input signal component (B, G, R) corresponding to a target output color signal component (X, Y, Z), which is not stored in the look-up table, with an interpolating process from a plurality of the three-dimensional input signal components (B, G, R) corresponding to a plurality of the three-dimensional output color signal components (X, Y, Z), which are stored in the look-up table and which are close to the target output color signal component (X, Y, Z), PA1 (4) in carrying out the interpolating process, supposing a three-dimensional input signal space, in which the plurality of the three-dimensional input signal components (B, G, R) stored in the look-up table constitute lattice points, and a three-dimensional output color signal space, in which the plurality of the three-dimensional output color signal components (X, Y, Z) stored in the look-up table constitute lattice points, PA1 (5) setting a certain appropriate origin and three linearly independent vectors in the three-dimensional output color signal space, PA1 (6) spanning the three vectors from the origin, a local coordinate system being thereby constituted in the three-dimensional output color signal space, PA1 (7) transforming the difference between the target output color signal component (X, Y, Z) and the origin into coordinates in the local coordinate system in the three-dimensional output color signal space, PA1 (8) updating the origin and the three vectors by utilizing the coordinates in the three-dimensional output color signal space, PA1 (9) iterating the operations, which are defined in (6), (7), and (8), a plurality of times, a new local coordinate system and new coordinates being thereby determined in the three-dimensional output color signal space, and PA1 (10) taking a point, which is in a local coordinate system in the three-dimensional input signal space, the local coordinate system corresponding to the new local coordinate system in the three-dimensional output color signal space, and which is represented by the new coordinates, as a three-dimensional input signal component (B, G, R), which corresponds to the target output color signal component (X, Y, Z). PA1 (1) creating a look-up table storing a plurality of three-dimensional input signal components (B, G, R), which change in steps and which are fed into a color image output apparatus, and the corresponding three-dimensional output color signal components (X, Y, Z), each of which is obtained with one of the three-dimensional input signal components (B, G, R), PA1 (2) transforming a target output color signal component (X, Y, Z) into a three-dimensional input signal component (B, G, R) by referring to the look-up table, and PA1 (3) interpolating a three-dimensional input signal component (B, G, R) corresponding to a target output color signal component (X, Y, Z), which is not stored in the look-up table, with a linear interpolating process from a plurality of the three-dimensional input signal components (B, G, R) corresponding to a plurality of the three-dimensional output color signal components (X, Y, Z), which are stored in the look-up table and which are close to the target output color signal component (X, Y, Z), PA1 (4) in carrying out the interpolating process, supposing a three-dimensional input signal space, which is constructed in a step form and in which the plurality of the three-dimensional input signal components (B, G, R) stored in the look-up table constitute lattice points, and a three-dimensional output color signal space, which is constructed in a step form and in which the plurality of the three-dimensional output color signal components (X, Y, Z) stored in the look-up table constitute lattice points, PA1 (5) setting an origin (i, j, k) and a displacement (di, dj, dk) in the three-dimensional output color signal space, where each of i, j, and k represents the lattice point step position with respect to one of three-dimensional directions, wherein i, j, k=1, 2, 3, . . . , and di, dj, dk=1 or -1, PA1 (6) constituting a local coordinate system in the three-dimensional output color signal space by using a point (i, j, k), a point (i+di, j, k), a point (i, j+dj, k), and a point (i, j, k+dk), PA1 (7) calculating a representation vector q=(q.sub.i, q.sub.j, q.sub.k), which represents the target output color signal component (X, Y, Z), in the local coordinate system in the three-dimensional output color signal space, PA1 (8) approximating each of the values of i+diq.sub.i, j+djq.sub.j, and k+dkq.sub.k by an integral number, PA1 (9) updating the origin (i, j, k) with the integral numbers being taken as a new i, a new j, and a new k, and carrying out a displacement updating process such that, when a representation vector q is calculated by using the updated origin, the displacement di may be reversed if the sign of q.sub.i is minus, the displacement dj may be reversed if the sign of q.sub.j is minus, and the displacement dk may be reversed if the sign of q.sub.k is minus, the processes defined in (5), (6), (7), (8), and (9) being iterated, and PA1 (10) when an updated origin (i, j, k) and an updated displacement (di, dj, dk) have become respectively equal to the predecessor origin (i, j, k) and the predecessor displacement (di, dj, dk) in the three-dimensional output color signal space, interpolating an input signal component point, which is represented by the representation vector q=(q.sub.i, q.sub.j, q.sub.k), with a linear interpolating process from four points (i, j, k), ( i+di, j, k), (i, j +dj, k), and (i, j, k+dk) in a local coordinate system, which is constituted by the four points in the three-dimensional input signal space.
Therefore, actually, as illustrated in FIGS. 3A and 3B, the output color signal space is rearranged into an orthogonal lattice form. Also, the number of steps is reduced. In this manner, the time required to carry out the calculations is shortened. However, in such cases, the accuracy of interpolation cannot be kept high.